Добрый день, уважаемые форумчане! Подскажите пожалуйста кто знаком с контроллерами Kinco. У меня есть контроллер Kinco и расходомер Взлет. Данные по modbus я получаю с расходомера однако они отличаются от тех данных что показаны на самом расходомере. Как я понял все из-за того что расходомер выдает данные в 16 bit Integer, а реальные показания должны быть в 32 bit Real. Как в контроллере Kinco сделать конвертацию из 16 bit Int в 32 bit Real? Контроллер Kinco K5. По скачанной в интернете экселевской таблицы, где можно переводить из 16 bit Int в 32 bit Real и данные совпали с показаниями.
Integer - целое число. Если расходомер выдает целое, то конечное число с плавающей точкой (Real) будет содержать только целую часть, т.е. все преобразование: real Y = int X.
Бывает что измерительные устройства выдают результат в масштабе, т.е. умноженным на 10 или 100 - соответственно real результат надо поделить. Но скорее всего у вас неправильная перестановка байт регистра, при приеме данных - расходомер например выдает старший байт вперед, а вы принимаете его как младший, или наоборот.
progrind
26.7.2017, 11:25
Да может и такое. И теперь как можно сделать преобразования чтобы выдать реальные показания с расходомера?
Vovka165
26.7.2017, 11:57
Цитата(progrind @ 26.7.2017, 11:25)

Да может и такое. И теперь как можно сделать преобразования чтобы выдать реальные показания с расходомера?
Обратитесь в службу тех.поддержки Kinco в России support@systemcontrol.ru там уж должны подсказать.
"И теперь как можно сделать преобразования чтобы выдать реальные показания с расходомера?"
..вы хоть выложите сюда что преобразовывать, что получаете, что на расходомере, можно даже по байтам, а там глянем
Slava_sl
30.7.2017, 17:17
Расходомер скорее всего вам выдаёт 4-х байтовое число с плавающей точкой.
Т.е. два регистра по 16бит. В них лежит експонента и мантиса. Просто соберите из двух чисел полное число с плавающей точкой. Только убедитесь что оно у вас именно 32 бита, а не дабл (64). Там разная длинна экспоненты.
http://www.softelectro.ru/ieee754.html
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.